| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=short), | public | :: | basic | 
                 number of basic parameters for the reference system  | 
        |||
| type(datum), | public | :: | datum | ||||
| character(len=100), | public, | ALLOCATABLE | :: | description(:) | 
                 description of the parameter (eg. zone for UTM, etc..)  | 
        ||
| type(Ellipsoid), | public | :: | ellipsoid | ||||
| integer(kind=short), | public | :: | epsg | 
                 epsg code  | 
        |||
| character(len=50), | public | :: | name | 
                 name of CRS  | 
        |||
| real(kind=FLOAT), | public, | ALLOCATABLE | :: | param(:) | 
                 required parameters for the definition of reference system  | 
        ||
| integer(kind=short), | public | :: | system | 
                 geodetic, UTM, Gaus Boaga, etc..  | 
        
TYPE :: CRS !common definitions to all systems INTEGER (KIND = short) :: system !! geodetic, UTM, Gaus Boaga, etc.. INTEGER (KIND = short) :: epsg !!epsg code CHARACTER (LEN = 50) :: name !!name of CRS TYPE (ellipsoid) :: ellipsoid TYPE (datum) :: datum INTEGER (KIND = short) :: basic !! number of basic parameters for the reference system !each reference system requires different parameters -> use dynamic allocation REAL (KIND = FLOAT), ALLOCATABLE :: param (:) !!required parameters for the definition of reference system CHARACTER (LEN = 100), ALLOCATABLE :: description (:) !!description of the parameter (eg. zone for UTM, etc..) END TYPE CRS